Eecient Support for Customizing Concurrency Control in Persistent Java

نویسندگان

  • Malcolm P. Atkinson
  • Patrick Valduriez
چکیده

We report on the issues raised when designing a customizable locking mechanism for Persistent Java, a type-safe, object-oriented, orthogonally persistent system based on the language Java. Customizable locking mechanisms are supported by locking capabilities. A locking capability is a book-keeper of locks that automatically acquires locks with a customizable connict detection mechanism. It implements the concepts of delegation of locks and ignorable connicts, automatically keeps track of the dependencies created because of allowance of connicts, supports querying of details about these dependencies, and supports the setting of user-deened notiications for connicts that can't be ignored. Locking capabilities don't change the Java language speciication, and allow use of any Java classes without changing a single line of their code to implement the body of transactions. We also present several novel techniques to implement eeciently this customizable locking mechanism in a persistent object system optimized for memory-residence of objects and navigational accesses.residence of objects.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Customizing Concurrency Controls using Graph of Locking Capabilities

As persistent object store technology reaches a mature state with respect to orthogonal persistence support, the lack of eecient and exible concur-rency control that could make them an attractive alternative to database systems is cruelly felt. In the search for more exibility, an increasing trend towards independent control over the basic transaction properties of atomicity, permanence and ser...

متن کامل

Thread Optimizations in Concurrent Object Oriented Languages Thread Optimizations in Concurrent Object Oriented Languages

Thread Optimizations in Concurrent Object Oriented Languages by Jing Wang With the current growth of the networks, distributed systems are becoming more and more popular. It is desirable to integrate heterogeneous machines into a coherent distributed system and to share resources among them. Scalable network computing also requires reliability, portability, and suitable programming abstractions...

متن کامل

Optimizing the Read and Write Barriers for Orthogonal Persistence

Persistent programming languages manage volatile memory as a cache for stable storage, imposing a read barrier on operations that access the cache, and a write barrier on updates to the cache. The read barrier checks the cache residency of the target object while the write barrier marks the target as dirty in the cache to support a write-back policy that defers updates to stable storage until e...

متن کامل

Implementing Orthogonally Persistent Java

Orthogonally persistent Java combines the power of abstraction over persistence with Java’s rich programming environment. In this paper we report our experience in designing and implementing orthogonally persistent Java. Our design approach is anchored by the view that any system that brings together Java and orthogonal persistence should as far as possible avoid diluting the strengths of Java ...

متن کامل

Concurrency - The Fly in the Ointment?

Concurrency is a central pillar of the Java programming language, is implicit in the transactional model of computation adopted by most persistent systems, and has been widely studied in the context of orthogonal persistence. We argue that despite the substantial literature on concurrency control and transaction models for orthogonal persistence, a basic question as to the interaction between c...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1996